package com.ctshk.rpc.bus.req;

import java.io.Serializable;
import java.util.List;

import javax.validation.constraints.NotNull;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 巴士产品信息req
 * </p>
 *
 * @author 彭柳霖
 * @since 2021-02-09
 */
@Data
@ApiModel(value="BusProductReq对象", description="巴士产品信息req")
public class BusProductReq implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;

    @ApiModelProperty(value = "出发城市id")
    private Long departureCityId;

    @ApiModelProperty(value = "出发城市名称")
    private String departureCityName;

    @ApiModelProperty(value = "到达城市id")
    private Long arriveCityId;

    @ApiModelProperty(value = "到达城市名称")
    private String arriveCityName;

    @ApiModelProperty(value = "线路id")
    private Long lineId;

    @NotNull(message = "班次信息不能为空")
    @ApiModelProperty(value = "班次信息")
    private BusshiftReq[] busshiftReqs;

    @ApiModelProperty(value = "座位库存数")
    private Integer inventory;

    @ApiModelProperty(value = "上车站id")
    private Long boardingStationId;

    @ApiModelProperty(value = "上车站名称")
    private String boardingStationName;

    @ApiModelProperty(value = "下车站点id")
    private Long alightingStationId;

    @ApiModelProperty(value = "下车站点名称")
    private String alightingStationName;

    @ApiModelProperty(value = "巴士公司id")
    private Long busCompaniesId;

    @ApiModelProperty(value = "巴士公司名称")
    private String busCompaniesName;

    @ApiModelProperty(value = "产品来源")
    private Integer productSource;

    @ApiModelProperty(value = "供应商id")
    private Long supplierId;

    @ApiModelProperty(value = "供应商名称")
    private String supplierName;

    @ApiModelProperty(value = "适用人群")
    private Long intendedFor;
    
    @ApiModelProperty(value = "适用人群名称")
    private String intendedForName;

    @ApiModelProperty(value = "负责人ID")
    private Long chargePersonId;

    @ApiModelProperty(value = "负责人员工号")
    private String chargePersonNumber;

    @ApiModelProperty(value = "负责人姓名")
    private String chargePersonName;

    @ApiModelProperty(value = "负责人部门名称")
    private String chargePersonDepartment;

    @ApiModelProperty(value = "售卖状态")
    private Integer saleStatus;

    @ApiModelProperty(value = "打包状态")
    private Integer packStatus;

    @ApiModelProperty(value = "审批状态")
    private Integer approvalStatus;

    @ApiModelProperty(value = "审批单号")
    private String approvalNumber;

    @ApiModelProperty(value = "座位号,逗号分割开")
    private String seatNumbers;

    @NotNull(message = "巴士产品成本集合为空")
    @ApiModelProperty(value = "巴士产品成本集合")
    private List<BusProductCostReq> busProductCostReqList;

}
